package com.linx.park.domain.bo;

import com.linx.park.domain.ParkPlacePoint;
import com.linx.common.core.validate.AddGroup;
import com.linx.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import jakarta.validation.constraints.*;

/**
 * 园区区域—点位信息业务对象 park_place_point
 *
 * @author 泽智科技
 * @date 2024-11-25
 */
@Data
@AutoMapper(target = ParkPlacePoint.class, reverseConvertGenerate = false)
public class ParkPlacePointBo {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long parkPlacePointId;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 园区id
     */
    @NotNull(message = "园区id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long parkInfoId;

    /**
     * 园区区域id
     */
    @NotNull(message = "园区区域id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long parkPlaceId;

    /**
     * 园区区域编码
     */
    @NotBlank(message = "园区区域编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String roomCode;

    /**
     * IP
     */
    @NotBlank(message = "IP不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pointIp;

    /**
     * 楼栋
     */
    @NotBlank(message = "楼栋不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pointBuilding;

    /**
     * 楼层
     */
    @NotBlank(message = "楼层不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pointFloor;

    /**
     * 空间编码
     */
    @NotBlank(message = "空间编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pointCode;

    /**
     * 经度
     */
    @NotBlank(message = "经度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String longitude;

    /**
     * 纬度
     */
    @NotBlank(message = "纬度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String latitude;


}
